#include<stdio.h>
#include<unistd.h>
#define BUF_SIZE 30
//使用管道进行进程间通信
//单向通信
int main(int argc,char *argv[])
{
	int fds[2];
	char str[]="Who are you?";
	char buf[BUF_SIZE];
	pid_t pid;
	//int pipe(int filedes[2])
	//filedes[0]通过管道接收数据时使用的文件描述符，即管道出口。
	//filedes[1]通过管道传输数据时使用的文件描述符，即管道入口。
	pipe(fds);
	//复制的并非管道，而是用于管道I/O的文件描述符
	pid=fork();
	if(pid==0)
	{
		//子进程向管道传输数据，从管道入口进	
		write(fds[1],str,sizeof(str));
	}
	else
	{
		//父进程接收管道数据，从管道出口读
		read(fds[0],buf,BUF_SIZE);
		puts(buf);
	}
	return 0;
}
